package com.xmtlxx.tms.domain.bo;

import com.xmtlxx.common.core.domain.BaseEntity;
import com.xmtlxx.common.core.validate.AddGroup;
import com.xmtlxx.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 地址业务对象 t_address
 *
 * @author xmtlxx
 * @date 2022-08-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("地址业务对象")
public class AddressBo extends BaseEntity {

    /**
     * 地址ID
     */
    @ApiModelProperty(value = "地址ID")
    private String id;

    /**
     * 部门ID
     */
    @ApiModelProperty(value = "部门ID", required = true)
    @NotNull(message = "部门ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long deptId;

    /**
     * 货主ID
     */
    @ApiModelProperty(value = "货主ID", required = true)
    @NotBlank(message = "货主ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private String clientId;

    /**
     * 承运商ID
     */
    @ApiModelProperty("承运商ID")
    @NotBlank(message = "承运商ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private String carrierId;

    /**
     * 类型
     */
    @ApiModelProperty(value = "类型", required = true)
    @NotBlank(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人", required = true)
    @NotBlank(message = "联系人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String contacts;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话", required = true)
    @NotBlank(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tel;

    /**
     * 省份
     */
    @ApiModelProperty(value = "省份", required = true)
    @NotBlank(message = "省份不能为空", groups = { AddGroup.class, EditGroup.class })
    private String province;

    /**
     * 市
     */
    @ApiModelProperty(value = "市", required = true)
    @NotBlank(message = "市不能为空", groups = { AddGroup.class, EditGroup.class })
    private String city;

    /**
     * 县/区
     */
    @ApiModelProperty(value = "县/区", required = true)
    @NotBlank(message = "县/区不能为空", groups = { AddGroup.class, EditGroup.class })
    private String area;

    /**
     * 省代码
     */
    @ApiModelProperty(value = "省代码", required = true)
    @NotBlank(message = "省代码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String provincecode;

    /**
     * 市代码
     */
    @ApiModelProperty(value = "市代码", required = true)
    @NotBlank(message = "市代码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String citycode;

    /**
     * 区代码
     */
    @ApiModelProperty(value = "区代码", required = true)
    @NotBlank(message = "区代码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String areacode;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址", required = true)
    @NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String addr;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    private String lng;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    private String lat;

    /**
     * 默认
     */
    @ApiModelProperty(value = "默认")
    private String flag;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    private String delFlag;


}
